Цифровые подписи и цифровые сертификаты
В целях обеспечения безопасности передачи
документов многие Web-приложения требуют подкрепления электронного
документа цифровой подписью. Метод цифровой подписи основан на
использовании алгоритмов асимметричного шифрования. Такие алгоритмы (RSA,
Diffie-Hellman) подразумевают наличие пары ключей – открытого (публичного)
и закрытого (секретного, приватного). Предположим, необходимо переслать
документ по безопасной электронной почте и поставить под ним цифровую
подпись. Для этого документ обрабатывается специальной хэш-функцией, а
полученное в результате значение (условно его можно назвать "контрольной
суммой" или сверткой, далее: хэш-значение) зашифровывается закрытым ключом
отправителя и пересылается вместе с документом. Это и есть цифровая
подпись. Получатель использует открытый ключ отправителя для того, чтобы
извлечь хэш-значение из цифровой подписи. Подпись считается подлинной,
если извлеченное из нее хэш-значение совпадет с результатом повторного
хэширования полученного документа.
Также, если необходимо закрыть информацию
(документ) от несанкционированного просмотра при ее передаче через
Интернет, то передаваемая информация кодируется с использованием
открытого ключа получателя, и раскодировать ее сможет только
получатель - владелец закрытого ключа. Таким образом, необходимо
передавать открытые ключи пользователей неискаженными.
Чтобы удостовериться в том, что открытый ключ не
искажен и действительно принадлежит тому, за кого выдает себя отправитель,
существует механизм цифровых сертификатов. Доверенное третье лицо –
уполномоченный по выдаче сертификатов (Certification Authority — CA) –
заверяет электронной подписью соответствие между открытым ключом и именем
(идентификатором) его владельца. Подписанные таким образом данные
(открытый ключ, идентификатор владельца и некоторые другие связанные с ним
атрибуты) и представляют собой цифровой сертификат. Генерация цифровых
сертификатов регламентируется стандартом Х.509.
Необходимо сразу отметить, что у владельца
сертификат с открытым ключом (далее: цифровой сертификат)
может храниться в персональном компьютере вместе с закрытым ключом.
Такой сертификат будет называться персональным цифровым
сертификатом. В
программах электронной почты персональные цифровые сертификаты и закрытые
ключи часто называют «цифровыми удостоверениями».
|